// Copyright 2011 Jefferson Willian
// willmont7@gmail.com

/* values -> Ponteiro para matriz de elementos    */
/* n      -> Numero de elementos computados       */
/* l      -> Posicao inicial do processo          */
void selectionSort(int values[], int n, int l = 0) {
  int r = n+l;
  int min;
  int t;

  /* Ordena elementos   */
  for (int i = l;i < r-1;++i) {
    min = i;
    /* Pega o menor elemento nao computado  */
    for (int j = i+1;j < r;++j)
      if (values[j] < values[min]) min = j;
    t = values[i]; values[i] = values[min]; values[min] = t;
  }

  return;
}
